package com.cloud.system.project.service;

import com.cloud.common.core.model.entity.LoginInfo;

/**
 * <p>
 * 登录 服务类
 * </p>
 *
 * @author Sam
 * @since 2020-12-27
 */
public interface ITokenService {

    /**
     * 用户登录
     *
     * @param loginName 用户名
     * @param password  密码
     * @return
     */
    String login(String loginName, String password);

    /**
     * 用户登出
     *
     * @param token
     */
    void logout(String token);

    /**
     * 刷新token
     *
     * @return
     */
    String refresh();

    /**
     * 刷新token存入缓存
     *
     * @param token   token
     * @param infoDTO 用户信息
     * @param expire  过期时间
     */
    void refreshTokenInfo(String token, LoginInfo infoDTO, long expire);
}
